home *** CD-ROM | disk | FTP | other *** search
- /*
- MCI.H
-
- Klasse fⁿr die Ansteuerung des MCI Interfaces.
-
- 22.08.92 Norbert Unterberg
-
- */
-
-
- #ifndef _MCI_H
- #define _MCI_H
-
- class MCI {
- UINT wDeviceID;
- DWORD dwCallback;
- LPSTR szAlias;
-
- protected:
- DWORD mciCommand(UINT wMessage, DWORD dwFlags, const void *param)
- { return mciSendCommand(wDeviceID, wMessage, dwFlags, (DWORD)(LPVOID)param); }
- virtual MCI_OPEN_PARMS *GetOpenParams();
- virtual void DeleteOpenParams(MCI_OPEN_PARMS *mci) { delete mci; }
- virtual DWORD GetOpenFlags(MCI_OPEN_PARMS *mci);
- virtual MCI_GENERIC_PARMS *GetGenericParams();
- DWORD GetStatus(DWORD dwItem, DWORD dwTrack = 0);
- DWORD Set(DWORD dwItem, DWORD dwValue = 0);
-
- public:
- DWORD Open(char *alias, DWORD dwFlags = 0);
- DWORD Close(DWORD dwFlags = 0);
- DWORD Play(DWORD dwFlags = 0, DWORD from = 0, DWORD to = 0);
- DWORD Seek(DWORD dwFlags, DWORD to);
- DWORD Stop(DWORD dwFlags = 0);
-
- UINT CurrentTrack()
- { return GetStatus(MCI_STATUS_CURRENT_TRACK); }
- DWORD Position(UINT track = 0)
- { return GetStatus(MCI_STATUS_POSITION, track); }
- DWORD Length(UINT track = 0)
- { return GetStatus(MCI_STATUS_LENGTH, track); }
- DWORD Mode()
- { return GetStatus(MCI_STATUS_MODE); }
- DWORD NumberOfTracks()
- { return GetStatus(MCI_STATUS_NUMBER_OF_TRACKS); }
- DWORD TimeFormat()
- { return GetStatus(MCI_STATUS_TIME_FORMAT); }
- DWORD StartPosition()
- { return GetStatus(MCI_STATUS_START); }
- DWORD Ready()
- { return GetStatus(MCI_STATUS_READY); }
-
- DWORD SetTimeFormat(DWORD tf)
- { return Set(MCI_SET_TIME_FORMAT, tf); }
- DWORD OpenDoor()
- { return Set(MCI_SET_DOOR_OPEN); }
- DWORD CloseDoor()
- { return Set(MCI_SET_DOOR_CLOSED); }
-
- MCI(HWND hwnd);
- //virtual ~MCI();
- };
-
-
- class CDAudio : public MCI {
- protected:
- virtual MCI_OPEN_PARMS *GetOpenParams();
- virtual DWORD GetOpenFlags(MCI_OPEN_PARMS *mci);
- public:
- CDAudio(HWND hwnd) : MCI(hwnd) {}
- BOOL MediaPresent()
- { return (BOOL)GetStatus(MCI_STATUS_MEDIA_PRESENT); }
-
- };
-
-
- #endif
-